WO 99/16250 discloses an embedded DCT-based still image coding algorithm. An embedded bit-stream is produced by the encoder. The decoder can cut the bit-stream at any point and therefore reconstruct an image at a lower bit-rate. Since an embedded bit-stream contains all lower rates embedded at the beginning of the bit-stream, the bits are ordered from the most important to the less important. Using an embedded code, the encoding simply stops when the target parameter as the bit count is met. In a similar manner, given the embedded bit-stream, the decoder can cease decoding at any point and can produce reconstructions corresponding to all lower-rate encoding. The quality of the reconstructed image at this lower rate is the same as if the image was coded directly at that rate.
The DCT is orthonormal, which means that it preserves the energy. An error in the transformed image of certain amplitude will produce an error of the same magnitude in the original image. This means that the coefficients with the largest magnitudes should be transmitted first because they have the largest content of the information. This means that the information can also be ranked according to its binary representation, and the most significant bits should be transmitted first.
Coding is done bit-plane by bit-plane. The DCT coefficients are scanned and transmitted in an order starting from the upper left comer (corresponding to the DC coefficient) and ending in the lower right comer of each DCT block, i.e. from the lowest frequency coefficient to the highest frequency coefficient. Inside a block, the DCT coefficients are scanned in a diagonal order, bit plane by bit plane. After each scanned diagonal, a flag is sent telling if there are any new significant coefficients in the rest of the block.
An object of the invention is, inter alia, to provide improved scalable coding. To this end, the invention provides coding and decoding, a camera system, a receiver, a scalable bit-stream and a storage medium as defined in the independent claims. Advantageous embodiments are defined in the dependent claims.
According to an aspect of the invention, a signal comprising blocks of values is coded by a method comprising the steps of: producing respective bit-streams for respective individual blocks and obtaining a scalable bit-stream by cyclically and sequentially scanning selected parts, e.g. one or more bits, of the respective bit-streams of the respective individual blocks, wherein a given scanning cycle, respective scalable bit-streams of respective individual blocks are scanned in an order of decreasing significance. This is an improvement because when the bit-stream is truncated, blocks with a high significance are available at a higher quality than blocks with a low significance. It should be understood that the encoder and the decoder are synchronized on the scan order. A possibility is to determine the scan order in the encoder and to transmit the scan order to the decoder. Further possibilities are to use a predetermined criterion which results in a same scan order in the encoder and the decoder, without sending information concerning the scan order from the encoder to the decoder.
An advantage of processing individual blocks is that it offers the possibility to work xe2x80x98on the flyxe2x80x99 on each received block without the need for gathering and rearranging all blocks of the signal. Because the blocks are coded independently, they can be processed in parallel. By cyclically and sequentially scanning parts of the respective bit-streams which scanning step can be stopped at a certain moment, a scalable bit-stream for the signal is obtained, instead of a block-wise scalable bit-stream that would be obtained when all blocks are individually coded and concatenated.
In a preferred embodiment of the invention, the scanning cycle starts with blocks in a center of a coded image. When the bit-stream describing the coded image is truncated, the blocks near the center of the image will have a slightly higher quality than the blocks towards the edges. It has been found that emphasizing the quality in the center of the image, relative to the quality towards the edges, increases the perceptual quality of the image, since typically most interesting objects in an image are placed in the center. A linear scanning order, e.g. from left to right and from top to bottom gives rise to disturbing artifacts because of a clearly visible sudden change in image quality. For a square image, a xe2x80x98perfectxe2x80x99 spiral starting in the center and spiraling towards the edges may be used. For a rectangular image, which is practically more relevant, such a xe2x80x98perfectxe2x80x99 spiral is not possible. Therefore, an algorithm is used that xe2x80x98growsxe2x80x99 a small area with an aspect ratio that approximates that of a whole image, e.g. by repetitively adding rows or columns to the area until the entire image is covered.
In a further preferred embodiment of the invention, a given scanning cycle scans the respective bit-streams in an image-adaptive order determined by a predetermined criterion. In this embodiment, a property of the image is used to determine the scan order. Because the scan order is determined by a predetermined criterion, the scan order is the same in the encoder and the decoder and transmitting the scan order is not necessary. An example of a predetermined criterion is a contrast of the blocks. The scanning cycle starts at blocks with low contrast. Emphasizing low-contrast blocks by scanning them first, increases a perceived quality of an image because blocking artifacts tend to be more visible in low-contrast areas of the image. In an advantageous embodiment, the block scan order is completely determined by information that is available in the encoder as well as in the decoder, e.g. when the values are transform coefficients, by determining after a given scanning cycle a number of significant coefficients for each individual block, and using a scan order in a next scanning cycle, in which blocks with a low number of significant coefficients are scanned first. A significant coefficient is a coefficient for which one or more bits have already been transmitted. In this way no additional bits need to be sent to the decoder. The measure of the contrast of a given block is based on the observation that DCT blocks with higher contrast will generally have higher AC transform coefficient magnitudes. In a further advantageous embodiment, the block scan order will in general depend on a weighted combination of both the contrast of a block and the distance of the block to the center of the image.
The invention is applicable to all block-based (including blocks with dimensions 1xc3x971, i.e. pixels) scalable image coding methods. For spatial-domain based methods, no transform coefficients are readily available, but in that case luminance values may be used.
The aforementioned and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.